home *** CD-ROM | disk | FTP | other *** search
- QV_UTILITY
- SEQ formatted GEOS file V1.0
- Epson FX-80
- QV_TABLES
- LASTER'S
- ONVERTER
- COPE Source V1.1
- QuickView
- COPE Editor V1.2
- Untitled
- UTILITY
- K K%K0K
- ; UTILITY's for QuickView
- ;-----*
- PRTOUT
- CMP #13
- BEQ @ENLIN
- CMP #32
- BCC @NOPRT
- CMP #129
- BCS @NOPRT
- JSR PutChar
- jsr SETUPB
- @NOPRT
- @ENLIN
- jsr ExLB
- LDA YPOS1
- ADC #10
- STA YPOS1
- CMP #183-8-4
- BCC @AZ
- lda #10; this might change
- ldx #0
- ldy #183-8+3-4
- jsr MoveScreen
- ; JSR i_MoveData
- ;.WORD $A000+320
- ;.WORD $A000
- ;.WORD 8000-640-320
- LDA YPOS1
- SBC #10
- STA YPOS1
- branch @ENL
- LDA #0
- STA XPOS1
- STA XPOS1+1
- jsr ExLBa
- JSR SETUPA
- YPOS1 .BYTE 10
- XPOS1 .Word 0
- SETUPA
- LDX YPOS1
- STX R1+1
- LDX XPOS1
- STX R11
- LDX XPOS1+1
- STX R11+1
- SETUPB
- LDX R1+1
- STX YPOS1
- LDX R11
- STX XPOS1
- LDX R11+1
- STX XPOS1+1
- ;-----
- CvCrd; convert card bit to byte.
- ; entry with A holding bit value
- sta CvChar
- CvCrd1
- lda #27
- jsr PutChar
- lda CvChar
- beq @o4
- lda CvChar
- AND #128; set_underline
- beq @o1
- lda #14
- jsr PutChar
- lda CvChar
- AND #64;set_bold
- beq @o2
- lda #24
- jsr PutChar
- lda CvChar
- AND #16; Italic's
- beq @o3
- lda #25
- jsr PutChar
- lda CvChar
- AND #8; Outline
- beq @o4
- lda #26
- jsr PutChar
- CvChar .Byte 0
- LDA #1
- STA R4+1
- LDA #63
- STA R4
- LDA R1+1
- SBC #7
- STA R2
- ADC #10
- STA R2+1
- LDA R11
- STA R3
- LDA R11+1
- BEQ @J2
- LDA R3
- CMP #64
- BCS @J1
- LDA R11+1
- STA R3+1
- JSR Rectangle
- ExLBa
- LDA #1
- STA R4+1
- LDA #63
- STA R4
- LDA YPOS1
- adc #3
- STA R2
- lda #183
- STA R2+1
- LDA #0
- STA R3
- STA R3+1
- JSR Rectangle
- ;-----
- Pause
- jsr SETUPB
- lda PauseByte
- EOR #1
- sta PauseByte
- PauseRoutine
- lda #184
- sta R2
- lda #199
- sta R2+1
- lda #17*8
- sta R3
- lda #23*8
- sta R4
- lda #0
- sta R3+1
- sta R4+1
- jsr InvertRectangle
- lda #128
- sta $8505
- jsr SETUPA
- ;----
- lda $8505
- BMI @PB3
- jsr SETUPB
- lda #184
- sta R2
- lda #199
- sta R2+1
- lda #17*8
- sta R3
- lda #23*8
- sta R4
- lda #0
- sta R3+1
- sta R4+1
- jsr IsMseInRegion
- beq @PB2
- jsr Pause
- lda #184
- sta R2
- lda #199
- sta R2+1
- lda #34*8
- sta R3
- lda #39*8+7
- sta R4
- lda #1
- sta R3+1
- sta R4+1
- jsr IsMseInRegion
- beq @PB3a
- jsr ExitList
- @PB3a
- jsr SETUPA
- PauseByte .Byte 0
- ExitByte .Byte 0
- ;====
- ExitList
- lda #1
- sta ExitByte
- lda #184
- sta R2
- lda #199
- sta R2+1
- lda #34*8
- sta R3
- lda #39*8+7
- sta R4
- lda #1
- sta R3+1
- sta R4+1
- jsr InvertRectangle
- lda #128
- sta $8505
- ; loop to waste time
- lda #0
- sta Y_Reg
- @YR_loop
- lda #0
- sta X_Reg
- @XR_loop
- dec X_Reg
- bne @XR_loop
- dec Y_Reg
- bne @YR_loop
- jsr InvertRectangle
- jsr SETUPA
- Y_Reg .Byte 0
- X_Reg .Byte 0
- MoveScreen
- ; DEST screen position to move to
- ; SOURCE screen position to move from
- ; LENGTH first position to move until (never > 199)
- stx DEST
- sta SOURCE
- STY LENGTH
- @BLP3
- ldx DEST
- jsr GetScanLine
- movew R5:Dest
- ldx SOURCE
- jsr GetScanLine
- movew R5:Source
- ldy #0
- @BLP1
- lda (Source),Y
- sta (Dest),Y
- adc #8
- bne @BLP1
- inc Source+1
- inc Dest+1
- @BLP2
- lda (Source),Y
- sta (Dest),Y
- adc #8
- cpy #64
- bcc @BLP2
- INC DEST
- INC SOURCE
- lda SOURCE
- cmp LENGTH
- bcc @BLP3
- beq @BLP3
- DEST .Byte 0
- SOURCE .Byte 0
- LENGTH .Byte 0
-